In [ ]:
# making sure we use GPU1
import os

os.environ["CUDA_VISIBLE_DEVICES"] = "1"

import RARL_wm
import math
import numpy as np
import pandas as pd
import torch
from safety_rl.RARL.utils import save_obj, load_obj
from PIL import Image

project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

import IPython

the_ipython_instance = IPython.get_ipython()
if the_ipython_instance is not None:
    the_ipython_instance.magic("load_ext autoreload")
    the_ipython_instance.magic("autoreload 2")
    the_ipython_instance.magic("matplotlib inline")
['/home/lassepe/miniforge3/envs/latent/lib/python38.zip', '/home/lassepe/miniforge3/envs/latent/lib/python3.8', '/home/lassepe/miniforge3/envs/latent/lib/python3.8/lib-dynload', '', '/home/lassepe/miniforge3/envs/latent/lib/python3.8/site-packages', '/home/lassepe/worktree/latent-safety', '/home/lassepe/worktree/latent-safety/safety_rl', '/home/lassepe/worktree/latent-safety/model_based_irl_torch']
Remove Copy-v0 from registry
Remove RepeatCopy-v0 from registry
Remove ReversedAddition-v0 from registry
Remove ReversedAddition3-v0 from registry
Remove DuplicatedInput-v0 from registry
Remove Reverse-v0 from registry
Remove CartPole-v0 from registry
Remove CartPole-v1 from registry
Remove MountainCar-v0 from registry
Remove MountainCarContinuous-v0 from registry
Remove Pendulum-v0 from registry
Remove Acrobot-v1 from registry
Remove LunarLander-v2 from registry
Remove LunarLanderContinuous-v2 from registry
Remove BipedalWalker-v3 from registry
Remove BipedalWalkerHardcore-v3 from registry
Remove CarRacing-v0 from registry
Remove Blackjack-v0 from registry
Remove KellyCoinflip-v0 from registry
Remove KellyCoinflipGeneralized-v0 from registry
Remove FrozenLake-v0 from registry
Remove FrozenLake8x8-v0 from registry
Remove CliffWalking-v0 from registry
Remove NChain-v0 from registry
Remove Roulette-v0 from registry
Remove Taxi-v3 from registry
Remove GuessingGame-v0 from registry
Remove HotterColder-v0 from registry
Remove Reacher-v2 from registry
Remove Pusher-v2 from registry
Remove Thrower-v2 from registry
Remove Striker-v2 from registry
Remove InvertedPendulum-v2 from registry
Remove InvertedDoublePendulum-v2 from registry
Remove HalfCheetah-v2 from registry
Remove HalfCheetah-v3 from registry
Remove Hopper-v2 from registry
Remove Hopper-v3 from registry
Remove Swimmer-v2 from registry
Remove Swimmer-v3 from registry
Remove Walker2d-v2 from registry
Remove Walker2d-v3 from registry
Remove Ant-v2 from registry
Remove Ant-v3 from registry
Remove Humanoid-v2 from registry
Remove Humanoid-v3 from registry
Remove HumanoidStandup-v2 from registry
Remove FetchSlide-v1 from registry
Remove FetchPickAndPlace-v1 from registry
Remove FetchReach-v1 from registry
Remove FetchPush-v1 from registry
Remove HandReach-v0 from registry
Remove HandManipulateBlockRotateZ-v0 from registry
Remove HandManipulateBlockRotateZTouchSensors-v0 from registry
Remove HandManipulateBlockRotateZTouchSensors-v1 from registry
Remove HandManipulateBlockRotateParallel-v0 from registry
Remove HandManipulateBlockRotateParallelTouchSensors-v0 from registry
Remove HandManipulateBlockRotateParallelTouchSensors-v1 from registry
Remove HandManipulateBlockRotateXYZ-v0 from registry
Remove HandManipulateBlockRotateXYZTouchSensors-v0 from registry
Remove HandManipulateBlockRotateXYZTouchSensors-v1 from registry
Remove HandManipulateBlockFull-v0 from registry
Remove HandManipulateBlock-v0 from registry
Remove HandManipulateBlockTouchSensors-v0 from registry
Remove HandManipulateBlockTouchSensors-v1 from registry
Remove HandManipulateEggRotate-v0 from registry
Remove HandManipulateEggRotateTouchSensors-v0 from registry
Remove HandManipulateEggRotateTouchSensors-v1 from registry
Remove HandManipulateEggFull-v0 from registry
Remove HandManipulateEgg-v0 from registry
Remove HandManipulateEggTouchSensors-v0 from registry
Remove HandManipulateEggTouchSensors-v1 from registry
Remove HandManipulatePenRotate-v0 from registry
Remove HandManipulatePenRotateTouchSensors-v0 from registry
Remove HandManipulatePenRotateTouchSensors-v1 from registry
Remove HandManipulatePenFull-v0 from registry
Remove HandManipulatePen-v0 from registry
Remove HandManipulatePenTouchSensors-v0 from registry
Remove HandManipulatePenTouchSensors-v1 from registry
Remove FetchSlideDense-v1 from registry
Remove FetchPickAndPlaceDense-v1 from registry
Remove FetchReachDense-v1 from registry
Remove FetchPushDense-v1 from registry
Remove HandReachDense-v0 from registry
Remove HandManipulateBlockRotateZDense-v0 from registry
Remove HandManipulateBlockRotateZTouchSensorsDense-v0 from registry
Remove HandManipulateBlockRotateZTouchSensorsDense-v1 from registry
Remove HandManipulateBlockRotateParallelDense-v0 from registry
Remove HandManipulateBlockRotateParallelTouchSensorsDense-v0 from registry
Remove HandManipulateBlockRotateParallelTouchSensorsDense-v1 from registry
Remove HandManipulateBlockRotateXYZDense-v0 from registry
Remove HandManipulateBlockRotateXYZTouchSensorsDense-v0 from registry
Remove HandManipulateBlockRotateXYZTouchSensorsDense-v1 from registry
Remove HandManipulateBlockFullDense-v0 from registry
Remove HandManipulateBlockDense-v0 from registry
Remove HandManipulateBlockTouchSensorsDense-v0 from registry
Remove HandManipulateBlockTouchSensorsDense-v1 from registry
Remove HandManipulateEggRotateDense-v0 from registry
Remove HandManipulateEggRotateTouchSensorsDense-v0 from registry
Remove HandManipulateEggRotateTouchSensorsDense-v1 from registry
Remove HandManipulateEggFullDense-v0 from registry
Remove HandManipulateEggDense-v0 from registry
Remove HandManipulateEggTouchSensorsDense-v0 from registry
Remove HandManipulateEggTouchSensorsDense-v1 from registry
Remove HandManipulatePenRotateDense-v0 from registry
Remove HandManipulatePenRotateTouchSensorsDense-v0 from registry
Remove HandManipulatePenRotateTouchSensorsDense-v1 from registry
Remove HandManipulatePenFullDense-v0 from registry
Remove HandManipulatePenDense-v0 from registry
Remove HandManipulatePenTouchSensorsDense-v0 from registry
Remove HandManipulatePenTouchSensorsDense-v1 from registry
Remove Adventure-v0 from registry
Remove Adventure-v4 from registry
Remove AdventureDeterministic-v0 from registry
Remove AdventureDeterministic-v4 from registry
Remove AdventureNoFrameskip-v0 from registry
Remove AdventureNoFrameskip-v4 from registry
Remove Adventure-ram-v0 from registry
Remove Adventure-ram-v4 from registry
Remove Adventure-ramDeterministic-v0 from registry
Remove Adventure-ramDeterministic-v4 from registry
Remove Adventure-ramNoFrameskip-v0 from registry
Remove Adventure-ramNoFrameskip-v4 from registry
Remove AirRaid-v0 from registry
Remove AirRaid-v4 from registry
Remove AirRaidDeterministic-v0 from registry
Remove AirRaidDeterministic-v4 from registry
Remove AirRaidNoFrameskip-v0 from registry
Remove AirRaidNoFrameskip-v4 from registry
Remove AirRaid-ram-v0 from registry
Remove AirRaid-ram-v4 from registry
Remove AirRaid-ramDeterministic-v0 from registry
Remove AirRaid-ramDeterministic-v4 from registry
Remove AirRaid-ramNoFrameskip-v0 from registry
Remove AirRaid-ramNoFrameskip-v4 from registry
Remove Alien-v0 from registry
Remove Alien-v4 from registry
Remove AlienDeterministic-v0 from registry
Remove AlienDeterministic-v4 from registry
Remove AlienNoFrameskip-v0 from registry
Remove AlienNoFrameskip-v4 from registry
Remove Alien-ram-v0 from registry
Remove Alien-ram-v4 from registry
Remove Alien-ramDeterministic-v0 from registry
Remove Alien-ramDeterministic-v4 from registry
Remove Alien-ramNoFrameskip-v0 from registry
Remove Alien-ramNoFrameskip-v4 from registry
Remove Amidar-v0 from registry
Remove Amidar-v4 from registry
Remove AmidarDeterministic-v0 from registry
Remove AmidarDeterministic-v4 from registry
Remove AmidarNoFrameskip-v0 from registry
Remove AmidarNoFrameskip-v4 from registry
Remove Amidar-ram-v0 from registry
Remove Amidar-ram-v4 from registry
Remove Amidar-ramDeterministic-v0 from registry
Remove Amidar-ramDeterministic-v4 from registry
Remove Amidar-ramNoFrameskip-v0 from registry
Remove Amidar-ramNoFrameskip-v4 from registry
Remove Assault-v0 from registry
Remove Assault-v4 from registry
Remove AssaultDeterministic-v0 from registry
Remove AssaultDeterministic-v4 from registry
Remove AssaultNoFrameskip-v0 from registry
Remove AssaultNoFrameskip-v4 from registry
Remove Assault-ram-v0 from registry
Remove Assault-ram-v4 from registry
Remove Assault-ramDeterministic-v0 from registry
Remove Assault-ramDeterministic-v4 from registry
Remove Assault-ramNoFrameskip-v0 from registry
Remove Assault-ramNoFrameskip-v4 from registry
Remove Asterix-v0 from registry
Remove Asterix-v4 from registry
Remove AsterixDeterministic-v0 from registry
Remove AsterixDeterministic-v4 from registry
Remove AsterixNoFrameskip-v0 from registry
Remove AsterixNoFrameskip-v4 from registry
Remove Asterix-ram-v0 from registry
Remove Asterix-ram-v4 from registry
Remove Asterix-ramDeterministic-v0 from registry
Remove Asterix-ramDeterministic-v4 from registry
Remove Asterix-ramNoFrameskip-v0 from registry
Remove Asterix-ramNoFrameskip-v4 from registry
Remove Asteroids-v0 from registry
Remove Asteroids-v4 from registry
Remove AsteroidsDeterministic-v0 from registry
Remove AsteroidsDeterministic-v4 from registry
Remove AsteroidsNoFrameskip-v0 from registry
Remove AsteroidsNoFrameskip-v4 from registry
Remove Asteroids-ram-v0 from registry
Remove Asteroids-ram-v4 from registry
Remove Asteroids-ramDeterministic-v0 from registry
Remove Asteroids-ramDeterministic-v4 from registry
Remove Asteroids-ramNoFrameskip-v0 from registry
Remove Asteroids-ramNoFrameskip-v4 from registry
Remove Atlantis-v0 from registry
Remove Atlantis-v4 from registry
Remove AtlantisDeterministic-v0 from registry
Remove AtlantisDeterministic-v4 from registry
Remove AtlantisNoFrameskip-v0 from registry
Remove AtlantisNoFrameskip-v4 from registry
Remove Atlantis-ram-v0 from registry
Remove Atlantis-ram-v4 from registry
Remove Atlantis-ramDeterministic-v0 from registry
Remove Atlantis-ramDeterministic-v4 from registry
Remove Atlantis-ramNoFrameskip-v0 from registry
Remove Atlantis-ramNoFrameskip-v4 from registry
Remove BankHeist-v0 from registry
Remove BankHeist-v4 from registry
Remove BankHeistDeterministic-v0 from registry
Remove BankHeistDeterministic-v4 from registry
Remove BankHeistNoFrameskip-v0 from registry
Remove BankHeistNoFrameskip-v4 from registry
Remove BankHeist-ram-v0 from registry
Remove BankHeist-ram-v4 from registry
Remove BankHeist-ramDeterministic-v0 from registry
Remove BankHeist-ramDeterministic-v4 from registry
Remove BankHeist-ramNoFrameskip-v0 from registry
Remove BankHeist-ramNoFrameskip-v4 from registry
Remove BattleZone-v0 from registry
Remove BattleZone-v4 from registry
Remove BattleZoneDeterministic-v0 from registry
Remove BattleZoneDeterministic-v4 from registry
Remove BattleZoneNoFrameskip-v0 from registry
Remove BattleZoneNoFrameskip-v4 from registry
Remove BattleZone-ram-v0 from registry
Remove BattleZone-ram-v4 from registry
Remove BattleZone-ramDeterministic-v0 from registry
Remove BattleZone-ramDeterministic-v4 from registry
Remove BattleZone-ramNoFrameskip-v0 from registry
Remove BattleZone-ramNoFrameskip-v4 from registry
Remove BeamRider-v0 from registry
Remove BeamRider-v4 from registry
Remove BeamRiderDeterministic-v0 from registry
Remove BeamRiderDeterministic-v4 from registry
Remove BeamRiderNoFrameskip-v0 from registry
Remove BeamRiderNoFrameskip-v4 from registry
Remove BeamRider-ram-v0 from registry
Remove BeamRider-ram-v4 from registry
Remove BeamRider-ramDeterministic-v0 from registry
Remove BeamRider-ramDeterministic-v4 from registry
Remove BeamRider-ramNoFrameskip-v0 from registry
Remove BeamRider-ramNoFrameskip-v4 from registry
Remove Berzerk-v0 from registry
Remove Berzerk-v4 from registry
Remove BerzerkDeterministic-v0 from registry
Remove BerzerkDeterministic-v4 from registry
Remove BerzerkNoFrameskip-v0 from registry
Remove BerzerkNoFrameskip-v4 from registry
Remove Berzerk-ram-v0 from registry
Remove Berzerk-ram-v4 from registry
Remove Berzerk-ramDeterministic-v0 from registry
Remove Berzerk-ramDeterministic-v4 from registry
Remove Berzerk-ramNoFrameskip-v0 from registry
Remove Berzerk-ramNoFrameskip-v4 from registry
Remove Bowling-v0 from registry
Remove Bowling-v4 from registry
Remove BowlingDeterministic-v0 from registry
Remove BowlingDeterministic-v4 from registry
Remove BowlingNoFrameskip-v0 from registry
Remove BowlingNoFrameskip-v4 from registry
Remove Bowling-ram-v0 from registry
Remove Bowling-ram-v4 from registry
Remove Bowling-ramDeterministic-v0 from registry
Remove Bowling-ramDeterministic-v4 from registry
Remove Bowling-ramNoFrameskip-v0 from registry
Remove Bowling-ramNoFrameskip-v4 from registry
Remove Boxing-v0 from registry
Remove Boxing-v4 from registry
Remove BoxingDeterministic-v0 from registry
Remove BoxingDeterministic-v4 from registry
Remove BoxingNoFrameskip-v0 from registry
Remove BoxingNoFrameskip-v4 from registry
Remove Boxing-ram-v0 from registry
Remove Boxing-ram-v4 from registry
Remove Boxing-ramDeterministic-v0 from registry
Remove Boxing-ramDeterministic-v4 from registry
Remove Boxing-ramNoFrameskip-v0 from registry
Remove Boxing-ramNoFrameskip-v4 from registry
Remove Breakout-v0 from registry
Remove Breakout-v4 from registry
Remove BreakoutDeterministic-v0 from registry
Remove BreakoutDeterministic-v4 from registry
Remove BreakoutNoFrameskip-v0 from registry
Remove BreakoutNoFrameskip-v4 from registry
Remove Breakout-ram-v0 from registry
Remove Breakout-ram-v4 from registry
Remove Breakout-ramDeterministic-v0 from registry
Remove Breakout-ramDeterministic-v4 from registry
Remove Breakout-ramNoFrameskip-v0 from registry
Remove Breakout-ramNoFrameskip-v4 from registry
Remove Carnival-v0 from registry
Remove Carnival-v4 from registry
Remove CarnivalDeterministic-v0 from registry
Remove CarnivalDeterministic-v4 from registry
Remove CarnivalNoFrameskip-v0 from registry
Remove CarnivalNoFrameskip-v4 from registry
Remove Carnival-ram-v0 from registry
Remove Carnival-ram-v4 from registry
Remove Carnival-ramDeterministic-v0 from registry
Remove Carnival-ramDeterministic-v4 from registry
Remove Carnival-ramNoFrameskip-v0 from registry
Remove Carnival-ramNoFrameskip-v4 from registry
Remove Centipede-v0 from registry
Remove Centipede-v4 from registry
Remove CentipedeDeterministic-v0 from registry
Remove CentipedeDeterministic-v4 from registry
Remove CentipedeNoFrameskip-v0 from registry
Remove CentipedeNoFrameskip-v4 from registry
Remove Centipede-ram-v0 from registry
Remove Centipede-ram-v4 from registry
Remove Centipede-ramDeterministic-v0 from registry
Remove Centipede-ramDeterministic-v4 from registry
Remove Centipede-ramNoFrameskip-v0 from registry
Remove Centipede-ramNoFrameskip-v4 from registry
Remove ChopperCommand-v0 from registry
Remove ChopperCommand-v4 from registry
Remove ChopperCommandDeterministic-v0 from registry
Remove ChopperCommandDeterministic-v4 from registry
Remove ChopperCommandNoFrameskip-v0 from registry
Remove ChopperCommandNoFrameskip-v4 from registry
Remove ChopperCommand-ram-v0 from registry
Remove ChopperCommand-ram-v4 from registry
Remove ChopperCommand-ramDeterministic-v0 from registry
Remove ChopperCommand-ramDeterministic-v4 from registry
Remove ChopperCommand-ramNoFrameskip-v0 from registry
Remove ChopperCommand-ramNoFrameskip-v4 from registry
Remove CrazyClimber-v0 from registry
Remove CrazyClimber-v4 from registry
Remove CrazyClimberDeterministic-v0 from registry
Remove CrazyClimberDeterministic-v4 from registry
Remove CrazyClimberNoFrameskip-v0 from registry
Remove CrazyClimberNoFrameskip-v4 from registry
Remove CrazyClimber-ram-v0 from registry
Remove CrazyClimber-ram-v4 from registry
Remove CrazyClimber-ramDeterministic-v0 from registry
Remove CrazyClimber-ramDeterministic-v4 from registry
Remove CrazyClimber-ramNoFrameskip-v0 from registry
Remove CrazyClimber-ramNoFrameskip-v4 from registry
Remove Defender-v0 from registry
Remove Defender-v4 from registry
Remove DefenderDeterministic-v0 from registry
Remove DefenderDeterministic-v4 from registry
Remove DefenderNoFrameskip-v0 from registry
Remove DefenderNoFrameskip-v4 from registry
Remove Defender-ram-v0 from registry
Remove Defender-ram-v4 from registry
Remove Defender-ramDeterministic-v0 from registry
Remove Defender-ramDeterministic-v4 from registry
Remove Defender-ramNoFrameskip-v0 from registry
Remove Defender-ramNoFrameskip-v4 from registry
Remove DemonAttack-v0 from registry
Remove DemonAttack-v4 from registry
Remove DemonAttackDeterministic-v0 from registry
Remove DemonAttackDeterministic-v4 from registry
Remove DemonAttackNoFrameskip-v0 from registry
Remove DemonAttackNoFrameskip-v4 from registry
Remove DemonAttack-ram-v0 from registry
Remove DemonAttack-ram-v4 from registry
Remove DemonAttack-ramDeterministic-v0 from registry
Remove DemonAttack-ramDeterministic-v4 from registry
Remove DemonAttack-ramNoFrameskip-v0 from registry
Remove DemonAttack-ramNoFrameskip-v4 from registry
Remove DoubleDunk-v0 from registry
Remove DoubleDunk-v4 from registry
Remove DoubleDunkDeterministic-v0 from registry
Remove DoubleDunkDeterministic-v4 from registry
Remove DoubleDunkNoFrameskip-v0 from registry
Remove DoubleDunkNoFrameskip-v4 from registry
Remove DoubleDunk-ram-v0 from registry
Remove DoubleDunk-ram-v4 from registry
Remove DoubleDunk-ramDeterministic-v0 from registry
Remove DoubleDunk-ramDeterministic-v4 from registry
Remove DoubleDunk-ramNoFrameskip-v0 from registry
Remove DoubleDunk-ramNoFrameskip-v4 from registry
Remove ElevatorAction-v0 from registry
Remove ElevatorAction-v4 from registry
Remove ElevatorActionDeterministic-v0 from registry
Remove ElevatorActionDeterministic-v4 from registry
Remove ElevatorActionNoFrameskip-v0 from registry
Remove ElevatorActionNoFrameskip-v4 from registry
Remove ElevatorAction-ram-v0 from registry
Remove ElevatorAction-ram-v4 from registry
Remove ElevatorAction-ramDeterministic-v0 from registry
Remove ElevatorAction-ramDeterministic-v4 from registry
Remove ElevatorAction-ramNoFrameskip-v0 from registry
Remove ElevatorAction-ramNoFrameskip-v4 from registry
Remove Enduro-v0 from registry
Remove Enduro-v4 from registry
Remove EnduroDeterministic-v0 from registry
Remove EnduroDeterministic-v4 from registry
Remove EnduroNoFrameskip-v0 from registry
Remove EnduroNoFrameskip-v4 from registry
Remove Enduro-ram-v0 from registry
Remove Enduro-ram-v4 from registry
Remove Enduro-ramDeterministic-v0 from registry
Remove Enduro-ramDeterministic-v4 from registry
Remove Enduro-ramNoFrameskip-v0 from registry
Remove Enduro-ramNoFrameskip-v4 from registry
Remove FishingDerby-v0 from registry
Remove FishingDerby-v4 from registry
Remove FishingDerbyDeterministic-v0 from registry
Remove FishingDerbyDeterministic-v4 from registry
Remove FishingDerbyNoFrameskip-v0 from registry
Remove FishingDerbyNoFrameskip-v4 from registry
Remove FishingDerby-ram-v0 from registry
Remove FishingDerby-ram-v4 from registry
Remove FishingDerby-ramDeterministic-v0 from registry
Remove FishingDerby-ramDeterministic-v4 from registry
Remove FishingDerby-ramNoFrameskip-v0 from registry
Remove FishingDerby-ramNoFrameskip-v4 from registry
Remove Freeway-v0 from registry
Remove Freeway-v4 from registry
Remove FreewayDeterministic-v0 from registry
Remove FreewayDeterministic-v4 from registry
Remove FreewayNoFrameskip-v0 from registry
Remove FreewayNoFrameskip-v4 from registry
Remove Freeway-ram-v0 from registry
Remove Freeway-ram-v4 from registry
Remove Freeway-ramDeterministic-v0 from registry
Remove Freeway-ramDeterministic-v4 from registry
Remove Freeway-ramNoFrameskip-v0 from registry
Remove Freeway-ramNoFrameskip-v4 from registry
Remove Frostbite-v0 from registry
Remove Frostbite-v4 from registry
Remove FrostbiteDeterministic-v0 from registry
Remove FrostbiteDeterministic-v4 from registry
Remove FrostbiteNoFrameskip-v0 from registry
Remove FrostbiteNoFrameskip-v4 from registry
Remove Frostbite-ram-v0 from registry
Remove Frostbite-ram-v4 from registry
Remove Frostbite-ramDeterministic-v0 from registry
Remove Frostbite-ramDeterministic-v4 from registry
Remove Frostbite-ramNoFrameskip-v0 from registry
Remove Frostbite-ramNoFrameskip-v4 from registry
Remove Gopher-v0 from registry
Remove Gopher-v4 from registry
Remove GopherDeterministic-v0 from registry
Remove GopherDeterministic-v4 from registry
Remove GopherNoFrameskip-v0 from registry
Remove GopherNoFrameskip-v4 from registry
Remove Gopher-ram-v0 from registry
Remove Gopher-ram-v4 from registry
Remove Gopher-ramDeterministic-v0 from registry
Remove Gopher-ramDeterministic-v4 from registry
Remove Gopher-ramNoFrameskip-v0 from registry
Remove Gopher-ramNoFrameskip-v4 from registry
Remove Gravitar-v0 from registry
Remove Gravitar-v4 from registry
Remove GravitarDeterministic-v0 from registry
Remove GravitarDeterministic-v4 from registry
Remove GravitarNoFrameskip-v0 from registry
Remove GravitarNoFrameskip-v4 from registry
Remove Gravitar-ram-v0 from registry
Remove Gravitar-ram-v4 from registry
Remove Gravitar-ramDeterministic-v0 from registry
Remove Gravitar-ramDeterministic-v4 from registry
Remove Gravitar-ramNoFrameskip-v0 from registry
Remove Gravitar-ramNoFrameskip-v4 from registry
Remove Hero-v0 from registry
Remove Hero-v4 from registry
Remove HeroDeterministic-v0 from registry
Remove HeroDeterministic-v4 from registry
Remove HeroNoFrameskip-v0 from registry
Remove HeroNoFrameskip-v4 from registry
Remove Hero-ram-v0 from registry
Remove Hero-ram-v4 from registry
Remove Hero-ramDeterministic-v0 from registry
Remove Hero-ramDeterministic-v4 from registry
Remove Hero-ramNoFrameskip-v0 from registry
Remove Hero-ramNoFrameskip-v4 from registry
Remove IceHockey-v0 from registry
Remove IceHockey-v4 from registry
Remove IceHockeyDeterministic-v0 from registry
Remove IceHockeyDeterministic-v4 from registry
Remove IceHockeyNoFrameskip-v0 from registry
Remove IceHockeyNoFrameskip-v4 from registry
Remove IceHockey-ram-v0 from registry
Remove IceHockey-ram-v4 from registry
Remove IceHockey-ramDeterministic-v0 from registry
Remove IceHockey-ramDeterministic-v4 from registry
Remove IceHockey-ramNoFrameskip-v0 from registry
Remove IceHockey-ramNoFrameskip-v4 from registry
Remove Jamesbond-v0 from registry
Remove Jamesbond-v4 from registry
Remove JamesbondDeterministic-v0 from registry
Remove JamesbondDeterministic-v4 from registry
Remove JamesbondNoFrameskip-v0 from registry
Remove JamesbondNoFrameskip-v4 from registry
Remove Jamesbond-ram-v0 from registry
Remove Jamesbond-ram-v4 from registry
Remove Jamesbond-ramDeterministic-v0 from registry
Remove Jamesbond-ramDeterministic-v4 from registry
Remove Jamesbond-ramNoFrameskip-v0 from registry
Remove Jamesbond-ramNoFrameskip-v4 from registry
Remove JourneyEscape-v0 from registry
Remove JourneyEscape-v4 from registry
Remove JourneyEscapeDeterministic-v0 from registry
Remove JourneyEscapeDeterministic-v4 from registry
Remove JourneyEscapeNoFrameskip-v0 from registry
Remove JourneyEscapeNoFrameskip-v4 from registry
Remove JourneyEscape-ram-v0 from registry
Remove JourneyEscape-ram-v4 from registry
Remove JourneyEscape-ramDeterministic-v0 from registry
Remove JourneyEscape-ramDeterministic-v4 from registry
Remove JourneyEscape-ramNoFrameskip-v0 from registry
Remove JourneyEscape-ramNoFrameskip-v4 from registry
Remove Kangaroo-v0 from registry
Remove Kangaroo-v4 from registry
Remove KangarooDeterministic-v0 from registry
Remove KangarooDeterministic-v4 from registry
Remove KangarooNoFrameskip-v0 from registry
Remove KangarooNoFrameskip-v4 from registry
Remove Kangaroo-ram-v0 from registry
Remove Kangaroo-ram-v4 from registry
Remove Kangaroo-ramDeterministic-v0 from registry
Remove Kangaroo-ramDeterministic-v4 from registry
Remove Kangaroo-ramNoFrameskip-v0 from registry
Remove Kangaroo-ramNoFrameskip-v4 from registry
Remove Krull-v0 from registry
Remove Krull-v4 from registry
Remove KrullDeterministic-v0 from registry
Remove KrullDeterministic-v4 from registry
Remove KrullNoFrameskip-v0 from registry
Remove KrullNoFrameskip-v4 from registry
Remove Krull-ram-v0 from registry
Remove Krull-ram-v4 from registry
Remove Krull-ramDeterministic-v0 from registry
Remove Krull-ramDeterministic-v4 from registry
Remove Krull-ramNoFrameskip-v0 from registry
Remove Krull-ramNoFrameskip-v4 from registry
Remove KungFuMaster-v0 from registry
Remove KungFuMaster-v4 from registry
Remove KungFuMasterDeterministic-v0 from registry
Remove KungFuMasterDeterministic-v4 from registry
Remove KungFuMasterNoFrameskip-v0 from registry
Remove KungFuMasterNoFrameskip-v4 from registry
Remove KungFuMaster-ram-v0 from registry
Remove KungFuMaster-ram-v4 from registry
Remove KungFuMaster-ramDeterministic-v0 from registry
Remove KungFuMaster-ramDeterministic-v4 from registry
Remove KungFuMaster-ramNoFrameskip-v0 from registry
Remove KungFuMaster-ramNoFrameskip-v4 from registry
Remove MontezumaRevenge-v0 from registry
Remove MontezumaRevenge-v4 from registry
Remove MontezumaRevengeDeterministic-v0 from registry
Remove MontezumaRevengeDeterministic-v4 from registry
Remove MontezumaRevengeNoFrameskip-v0 from registry
Remove MontezumaRevengeNoFrameskip-v4 from registry
Remove MontezumaRevenge-ram-v0 from registry
Remove MontezumaRevenge-ram-v4 from registry
Remove MontezumaRevenge-ramDeterministic-v0 from registry
Remove MontezumaRevenge-ramDeterministic-v4 from registry
Remove MontezumaRevenge-ramNoFrameskip-v0 from registry
Remove MontezumaRevenge-ramNoFrameskip-v4 from registry
Remove MsPacman-v0 from registry
Remove MsPacman-v4 from registry
Remove MsPacmanDeterministic-v0 from registry
Remove MsPacmanDeterministic-v4 from registry
Remove MsPacmanNoFrameskip-v0 from registry
Remove MsPacmanNoFrameskip-v4 from registry
Remove MsPacman-ram-v0 from registry
Remove MsPacman-ram-v4 from registry
Remove MsPacman-ramDeterministic-v0 from registry
Remove MsPacman-ramDeterministic-v4 from registry
Remove MsPacman-ramNoFrameskip-v0 from registry
Remove MsPacman-ramNoFrameskip-v4 from registry
Remove NameThisGame-v0 from registry
Remove NameThisGame-v4 from registry
Remove NameThisGameDeterministic-v0 from registry
Remove NameThisGameDeterministic-v4 from registry
Remove NameThisGameNoFrameskip-v0 from registry
Remove NameThisGameNoFrameskip-v4 from registry
Remove NameThisGame-ram-v0 from registry
Remove NameThisGame-ram-v4 from registry
Remove NameThisGame-ramDeterministic-v0 from registry
Remove NameThisGame-ramDeterministic-v4 from registry
Remove NameThisGame-ramNoFrameskip-v0 from registry
Remove NameThisGame-ramNoFrameskip-v4 from registry
Remove Phoenix-v0 from registry
Remove Phoenix-v4 from registry
Remove PhoenixDeterministic-v0 from registry
Remove PhoenixDeterministic-v4 from registry
Remove PhoenixNoFrameskip-v0 from registry
Remove PhoenixNoFrameskip-v4 from registry
Remove Phoenix-ram-v0 from registry
Remove Phoenix-ram-v4 from registry
Remove Phoenix-ramDeterministic-v0 from registry
Remove Phoenix-ramDeterministic-v4 from registry
Remove Phoenix-ramNoFrameskip-v0 from registry
Remove Phoenix-ramNoFrameskip-v4 from registry
Remove Pitfall-v0 from registry
Remove Pitfall-v4 from registry
Remove PitfallDeterministic-v0 from registry
Remove PitfallDeterministic-v4 from registry
Remove PitfallNoFrameskip-v0 from registry
Remove PitfallNoFrameskip-v4 from registry
Remove Pitfall-ram-v0 from registry
Remove Pitfall-ram-v4 from registry
Remove Pitfall-ramDeterministic-v0 from registry
Remove Pitfall-ramDeterministic-v4 from registry
Remove Pitfall-ramNoFrameskip-v0 from registry
Remove Pitfall-ramNoFrameskip-v4 from registry
Remove Pong-v0 from registry
Remove Pong-v4 from registry
Remove PongDeterministic-v0 from registry
Remove PongDeterministic-v4 from registry
Remove PongNoFrameskip-v0 from registry
Remove PongNoFrameskip-v4 from registry
Remove Pong-ram-v0 from registry
Remove Pong-ram-v4 from registry
Remove Pong-ramDeterministic-v0 from registry
Remove Pong-ramDeterministic-v4 from registry
Remove Pong-ramNoFrameskip-v0 from registry
Remove Pong-ramNoFrameskip-v4 from registry
Remove Pooyan-v0 from registry
Remove Pooyan-v4 from registry
Remove PooyanDeterministic-v0 from registry
Remove PooyanDeterministic-v4 from registry
Remove PooyanNoFrameskip-v0 from registry
Remove PooyanNoFrameskip-v4 from registry
Remove Pooyan-ram-v0 from registry
Remove Pooyan-ram-v4 from registry
Remove Pooyan-ramDeterministic-v0 from registry
Remove Pooyan-ramDeterministic-v4 from registry
Remove Pooyan-ramNoFrameskip-v0 from registry
Remove Pooyan-ramNoFrameskip-v4 from registry
Remove PrivateEye-v0 from registry
Remove PrivateEye-v4 from registry
Remove PrivateEyeDeterministic-v0 from registry
Remove PrivateEyeDeterministic-v4 from registry
Remove PrivateEyeNoFrameskip-v0 from registry
Remove PrivateEyeNoFrameskip-v4 from registry
Remove PrivateEye-ram-v0 from registry
Remove PrivateEye-ram-v4 from registry
Remove PrivateEye-ramDeterministic-v0 from registry
Remove PrivateEye-ramDeterministic-v4 from registry
Remove PrivateEye-ramNoFrameskip-v0 from registry
Remove PrivateEye-ramNoFrameskip-v4 from registry
Remove Qbert-v0 from registry
Remove Qbert-v4 from registry
Remove QbertDeterministic-v0 from registry
Remove QbertDeterministic-v4 from registry
Remove QbertNoFrameskip-v0 from registry
Remove QbertNoFrameskip-v4 from registry
Remove Qbert-ram-v0 from registry
Remove Qbert-ram-v4 from registry
Remove Qbert-ramDeterministic-v0 from registry
Remove Qbert-ramDeterministic-v4 from registry
Remove Qbert-ramNoFrameskip-v0 from registry
Remove Qbert-ramNoFrameskip-v4 from registry
Remove Riverraid-v0 from registry
Remove Riverraid-v4 from registry
Remove RiverraidDeterministic-v0 from registry
Remove RiverraidDeterministic-v4 from registry
Remove RiverraidNoFrameskip-v0 from registry
Remove RiverraidNoFrameskip-v4 from registry
Remove Riverraid-ram-v0 from registry
Remove Riverraid-ram-v4 from registry
Remove Riverraid-ramDeterministic-v0 from registry
Remove Riverraid-ramDeterministic-v4 from registry
Remove Riverraid-ramNoFrameskip-v0 from registry
Remove Riverraid-ramNoFrameskip-v4 from registry
Remove RoadRunner-v0 from registry
Remove RoadRunner-v4 from registry
Remove RoadRunnerDeterministic-v0 from registry
Remove RoadRunnerDeterministic-v4 from registry
Remove RoadRunnerNoFrameskip-v0 from registry
Remove RoadRunnerNoFrameskip-v4 from registry
Remove RoadRunner-ram-v0 from registry
Remove RoadRunner-ram-v4 from registry
Remove RoadRunner-ramDeterministic-v0 from registry
Remove RoadRunner-ramDeterministic-v4 from registry
Remove RoadRunner-ramNoFrameskip-v0 from registry
Remove RoadRunner-ramNoFrameskip-v4 from registry
Remove Robotank-v0 from registry
Remove Robotank-v4 from registry
Remove RobotankDeterministic-v0 from registry
Remove RobotankDeterministic-v4 from registry
Remove RobotankNoFrameskip-v0 from registry
Remove RobotankNoFrameskip-v4 from registry
Remove Robotank-ram-v0 from registry
Remove Robotank-ram-v4 from registry
Remove Robotank-ramDeterministic-v0 from registry
Remove Robotank-ramDeterministic-v4 from registry
Remove Robotank-ramNoFrameskip-v0 from registry
Remove Robotank-ramNoFrameskip-v4 from registry
Remove Seaquest-v0 from registry
Remove Seaquest-v4 from registry
Remove SeaquestDeterministic-v0 from registry
Remove SeaquestDeterministic-v4 from registry
Remove SeaquestNoFrameskip-v0 from registry
Remove SeaquestNoFrameskip-v4 from registry
Remove Seaquest-ram-v0 from registry
Remove Seaquest-ram-v4 from registry
Remove Seaquest-ramDeterministic-v0 from registry
Remove Seaquest-ramDeterministic-v4 from registry
Remove Seaquest-ramNoFrameskip-v0 from registry
Remove Seaquest-ramNoFrameskip-v4 from registry
Remove Skiing-v0 from registry
Remove Skiing-v4 from registry
Remove SkiingDeterministic-v0 from registry
Remove SkiingDeterministic-v4 from registry
Remove SkiingNoFrameskip-v0 from registry
Remove SkiingNoFrameskip-v4 from registry
Remove Skiing-ram-v0 from registry
Remove Skiing-ram-v4 from registry
Remove Skiing-ramDeterministic-v0 from registry
Remove Skiing-ramDeterministic-v4 from registry
Remove Skiing-ramNoFrameskip-v0 from registry
Remove Skiing-ramNoFrameskip-v4 from registry
Remove Solaris-v0 from registry
Remove Solaris-v4 from registry
Remove SolarisDeterministic-v0 from registry
Remove SolarisDeterministic-v4 from registry
Remove SolarisNoFrameskip-v0 from registry
Remove SolarisNoFrameskip-v4 from registry
Remove Solaris-ram-v0 from registry
Remove Solaris-ram-v4 from registry
Remove Solaris-ramDeterministic-v0 from registry
Remove Solaris-ramDeterministic-v4 from registry
Remove Solaris-ramNoFrameskip-v0 from registry
Remove Solaris-ramNoFrameskip-v4 from registry
Remove SpaceInvaders-v0 from registry
Remove SpaceInvaders-v4 from registry
Remove SpaceInvadersDeterministic-v0 from registry
Remove SpaceInvadersDeterministic-v4 from registry
Remove SpaceInvadersNoFrameskip-v0 from registry
Remove SpaceInvadersNoFrameskip-v4 from registry
Remove SpaceInvaders-ram-v0 from registry
Remove SpaceInvaders-ram-v4 from registry
Remove SpaceInvaders-ramDeterministic-v0 from registry
Remove SpaceInvaders-ramDeterministic-v4 from registry
Remove SpaceInvaders-ramNoFrameskip-v0 from registry
Remove SpaceInvaders-ramNoFrameskip-v4 from registry
Remove StarGunner-v0 from registry
Remove StarGunner-v4 from registry
Remove StarGunnerDeterministic-v0 from registry
Remove StarGunnerDeterministic-v4 from registry
Remove StarGunnerNoFrameskip-v0 from registry
Remove StarGunnerNoFrameskip-v4 from registry
Remove StarGunner-ram-v0 from registry
Remove StarGunner-ram-v4 from registry
Remove StarGunner-ramDeterministic-v0 from registry
Remove StarGunner-ramDeterministic-v4 from registry
Remove StarGunner-ramNoFrameskip-v0 from registry
Remove StarGunner-ramNoFrameskip-v4 from registry
Remove Tennis-v0 from registry
Remove Tennis-v4 from registry
Remove TennisDeterministic-v0 from registry
Remove TennisDeterministic-v4 from registry
Remove TennisNoFrameskip-v0 from registry
Remove TennisNoFrameskip-v4 from registry
Remove Tennis-ram-v0 from registry
Remove Tennis-ram-v4 from registry
Remove Tennis-ramDeterministic-v0 from registry
Remove Tennis-ramDeterministic-v4 from registry
Remove Tennis-ramNoFrameskip-v0 from registry
Remove Tennis-ramNoFrameskip-v4 from registry
Remove TimePilot-v0 from registry
Remove TimePilot-v4 from registry
Remove TimePilotDeterministic-v0 from registry
Remove TimePilotDeterministic-v4 from registry
Remove TimePilotNoFrameskip-v0 from registry
Remove TimePilotNoFrameskip-v4 from registry
Remove TimePilot-ram-v0 from registry
Remove TimePilot-ram-v4 from registry
Remove TimePilot-ramDeterministic-v0 from registry
Remove TimePilot-ramDeterministic-v4 from registry
Remove TimePilot-ramNoFrameskip-v0 from registry
Remove TimePilot-ramNoFrameskip-v4 from registry
Remove Tutankham-v0 from registry
Remove Tutankham-v4 from registry
Remove TutankhamDeterministic-v0 from registry
Remove TutankhamDeterministic-v4 from registry
Remove TutankhamNoFrameskip-v0 from registry
Remove TutankhamNoFrameskip-v4 from registry
Remove Tutankham-ram-v0 from registry
Remove Tutankham-ram-v4 from registry
Remove Tutankham-ramDeterministic-v0 from registry
Remove Tutankham-ramDeterministic-v4 from registry
Remove Tutankham-ramNoFrameskip-v0 from registry
Remove Tutankham-ramNoFrameskip-v4 from registry
Remove UpNDown-v0 from registry
Remove UpNDown-v4 from registry
Remove UpNDownDeterministic-v0 from registry
Remove UpNDownDeterministic-v4 from registry
Remove UpNDownNoFrameskip-v0 from registry
Remove UpNDownNoFrameskip-v4 from registry
Remove UpNDown-ram-v0 from registry
Remove UpNDown-ram-v4 from registry
Remove UpNDown-ramDeterministic-v0 from registry
Remove UpNDown-ramDeterministic-v4 from registry
Remove UpNDown-ramNoFrameskip-v0 from registry
Remove UpNDown-ramNoFrameskip-v4 from registry
Remove Venture-v0 from registry
Remove Venture-v4 from registry
Remove VentureDeterministic-v0 from registry
Remove VentureDeterministic-v4 from registry
Remove VentureNoFrameskip-v0 from registry
Remove VentureNoFrameskip-v4 from registry
Remove Venture-ram-v0 from registry
Remove Venture-ram-v4 from registry
Remove Venture-ramDeterministic-v0 from registry
Remove Venture-ramDeterministic-v4 from registry
Remove Venture-ramNoFrameskip-v0 from registry
Remove Venture-ramNoFrameskip-v4 from registry
Remove VideoPinball-v0 from registry
Remove VideoPinball-v4 from registry
Remove VideoPinballDeterministic-v0 from registry
Remove VideoPinballDeterministic-v4 from registry
Remove VideoPinballNoFrameskip-v0 from registry
Remove VideoPinballNoFrameskip-v4 from registry
Remove VideoPinball-ram-v0 from registry
Remove VideoPinball-ram-v4 from registry
Remove VideoPinball-ramDeterministic-v0 from registry
Remove VideoPinball-ramDeterministic-v4 from registry
Remove VideoPinball-ramNoFrameskip-v0 from registry
Remove VideoPinball-ramNoFrameskip-v4 from registry
Remove WizardOfWor-v0 from registry
Remove WizardOfWor-v4 from registry
Remove WizardOfWorDeterministic-v0 from registry
Remove WizardOfWorDeterministic-v4 from registry
Remove WizardOfWorNoFrameskip-v0 from registry
Remove WizardOfWorNoFrameskip-v4 from registry
Remove WizardOfWor-ram-v0 from registry
Remove WizardOfWor-ram-v4 from registry
Remove WizardOfWor-ramDeterministic-v0 from registry
Remove WizardOfWor-ramDeterministic-v4 from registry
Remove WizardOfWor-ramNoFrameskip-v0 from registry
Remove WizardOfWor-ramNoFrameskip-v4 from registry
Remove YarsRevenge-v0 from registry
Remove YarsRevenge-v4 from registry
Remove YarsRevengeDeterministic-v0 from registry
Remove YarsRevengeDeterministic-v4 from registry
Remove YarsRevengeNoFrameskip-v0 from registry
Remove YarsRevengeNoFrameskip-v4 from registry
Remove YarsRevenge-ram-v0 from registry
Remove YarsRevenge-ram-v4 from registry
Remove YarsRevenge-ramDeterministic-v0 from registry
Remove YarsRevenge-ramDeterministic-v4 from registry
Remove YarsRevenge-ramNoFrameskip-v0 from registry
Remove YarsRevenge-ramNoFrameskip-v4 from registry
Remove Zaxxon-v0 from registry
Remove Zaxxon-v4 from registry
Remove ZaxxonDeterministic-v0 from registry
Remove ZaxxonDeterministic-v4 from registry
Remove ZaxxonNoFrameskip-v0 from registry
Remove ZaxxonNoFrameskip-v4 from registry
Remove Zaxxon-ram-v0 from registry
Remove Zaxxon-ram-v4 from registry
Remove Zaxxon-ramDeterministic-v0 from registry
Remove Zaxxon-ramDeterministic-v4 from registry
Remove Zaxxon-ramNoFrameskip-v0 from registry
Remove Zaxxon-ramNoFrameskip-v4 from registry
Remove CubeCrash-v0 from registry
Remove CubeCrashSparse-v0 from registry
Remove CubeCrashScreenBecomesBlack-v0 from registry
Remove MemorizeDigits-v0 from registry
<ipython-input-1-eac31f6e0c43>:21: DeprecationWarning: `magic(...)` is deprecated since IPython 0.13 (warning added in 8.1), use run_line_magic(magic_name, parameter_s).
  the_ipython_instance.magic("load_ext autoreload")
<ipython-input-1-eac31f6e0c43>:22: DeprecationWarning: `magic(...)` is deprecated since IPython 0.13 (warning added in 8.1), use run_line_magic(magic_name, parameter_s).
  the_ipython_instance.magic("autoreload 2")
<ipython-input-1-eac31f6e0c43>:23: DeprecationWarning: `magic(...)` is deprecated since IPython 0.13 (warning added in 8.1), use run_line_magic(magic_name, parameter_s).
  the_ipython_instance.magic("matplotlib inline")
In [ ]:
def load_best_agent(config, environment_info):
    agent = RARL_wm.construct_agent(config, environment_info)
    # TODO get this index from the training dict based on metrics rather than hard-coding
    restore_idx = 150_000
    agent.restore(
        restore_idx, os.path.join(project_root, environment_info["outFolder"])
    )
    return agent


def compute_value_funtion_metrics(env, ground_truth_brt, q_func):
    nx = ground_truth_brt.shape[0]
    ny = ground_truth_brt.shape[1]
    # sub-sample theta indices to reduce computation
    theta_indices = np.linspace(0, ground_truth_brt.shape[2] - 1, 3, dtype=int)
    slices = []
    for theta_idx in theta_indices:
        # map index back to angle
        theta = theta_idx * 2 * np.pi / ground_truth_brt.shape[2]
        slice = env.get_value(q_func, theta=theta, nx=nx, ny=ny)
        slices.append(slice)
    v_nn = np.stack(slices, axis=2)
    v_grid = ground_truth_brt[:, :, theta_indices]
    tn, tp, fn, fp = env.confusion(v_nn, v_grid)
    accuracy = (tp + tn) / (tp + tn + fp + fn)
    if tp + fp < 1e-6:
        precision = 0
    else:
        precision = tp / (tp + fp)
    if tp + fn < 1e-6:
        recall = 0
    else:
        recall = tp / (tp + fn)
    if precision + recall < 1e-6:
        f1 = 0
    else:
        f1 = 2 * precision * recall / (precision + recall)

    metrics = {
        "tn": tn,
        "tp": tp,
        "fn": fn,
        "fp": fp,
        "accuracy": accuracy,
        "precision": precision,
        "recall": recall,
        "f1": f1,
    }

    return metrics


def get_grid_value_for_state(env, grid, x, y, theta):
    """
    Find the neirest value in the grid for the given state.
    """
    nx = grid.shape[0]
    ny = grid.shape[1]
    ntheta = grid.shape[2]
    dx = (env.bounds[0, 1] - env.bounds[0, 0]) / nx
    dy = (env.bounds[1, 1] - env.bounds[1, 0]) / ny
    dtheta = 2 * np.pi / grid.shape[2]
    x_idx = min(int((x - env.bounds[0, 0]) / dx), nx - 1)
    y_idx = min(int((y - env.bounds[1, 0]) / dy), ny - 1)
    # for theta, make sure to wrap the angle to 0-2pi
    theta_idx = min(int((theta % (2 * np.pi)) / dtheta), ntheta - 1)
    return grid[x_idx, y_idx, theta_idx]


def collect_rollout_data(
    env,
    agent,
    position_gridsize,
    angle_gridsize,
    output_folder,
    output_prefix,
    enable_observation_feedback=True,
):
    rollout_data = {}
    thetas = np.linspace(0, 2 * math.pi, angle_gridsize, endpoint=False)
    os.makedirs(output_folder, exist_ok=True)
    for theta_idx, theta in enumerate(thetas):
        theta_deg = math.degrees(theta)
        print(
            f"Collecting rollouts for theta = {theta_deg:.0f} degrees; {theta_idx+1}/{angle_gridsize}"
        )
        _, _, infos = env.plot_trajectories(
            q_func=agent.Q_network,
            num_rnd_traj=10,
            theta=theta,
            # convert to degrees for filename
            save_dir=os.path.join(
                output_folder,
                output_prefix + f"safe_rollouts_theta{theta_deg:.0f}deg.png",
            ),
            return_infos=True,
            enable_observation_feedback=enable_observation_feedback,
            wait_for_all_metrics_to_predict_failure=True,
            position_gridsize=position_gridsize,
        )
        rollout_data[theta_idx] = infos

    return rollout_data


def evaluate_rollout_data(env, rollout_data, ground_truth_brt):
    evaluated_rollout_data = []

    for theta_data in rollout_data.values():
        for rollout_info in theta_data.values():
            # extract relevant information from the rollout
            # ground truth metrics
            ground_truth_metrics = rollout_info["groundtruth_metrics"]
            ground_truth_initial_state = ground_truth_metrics["traj"][0]
            ground_truth_initial_value = get_grid_value_for_state(
                env, ground_truth_brt, *ground_truth_initial_state
            )
            ground_truth_failure_margin = ground_truth_metrics["minV"]
            ground_truth_failure_time = next(
                (
                    idx
                    for idx, value in enumerate(ground_truth_metrics["valueList"])
                    if value < 0
                ),
                None,
            )
            # learned metrics
            learned_metrics = rollout_info["learned_metrics"]
            learned_safety_time = next(
                (
                    idx
                    for idx, value in enumerate(learned_metrics["actionValueList"])
                    if value < 0
                ),
                None,
            )

            # high-level classification of the rollout according to main features
            is_feasible = ground_truth_initial_value >= 0
            is_safe = ground_truth_failure_margin >= 0

            assert is_safe == (ground_truth_failure_time is None)

            is_learning_classification_correct = (
                is_safe and (learned_safety_time is None)
            ) or (
                (not is_safe)
                and (learned_safety_time is not None)
                and (learned_safety_time <= ground_truth_failure_time)
            )

            # aggregate all the data
            evaluated_rollout_data.append(
                {
                    "ground_truth_initial_value": ground_truth_initial_value,
                    "ground_truth_failure_time": ground_truth_failure_time,
                    "learned_failure_time": learned_safety_time,
                    "is_feasible": is_feasible,
                    "is_safe": is_safe,
                    "is_learning_classification_correct": is_learning_classification_correct,
                    "learned_metrics": learned_metrics,
                }
            )

    return pd.DataFrame(evaluated_rollout_data)

def generate_representative_rollout_videos(env, evaluated_rollouts, output_folder, output_prefix):
    # find up to 5 safe and 5 unsafe rollouts and generate a video for each of them

    safe_rollouts = evaluated_rollouts[evaluated_rollouts["is_safe"]].head(5)
    for idx, row in safe_rollouts.iterrows():
        print(f"Generating video for safe rollout {idx}")
        rollout_data = row["learned_metrics"]
        decode_video_from_feature_sequence(env, rollout_data, os.path.join(output_folder, f"{output_prefix}_safe_{idx}.mp4"))

    unsafe_rollouts = evaluated_rollouts[~evaluated_rollouts["is_safe"]].head(5)
    for idx, row in unsafe_rollouts.iterrows():
        print(f"Generating video for unsafe rollout {idx}")
        rollout_data = row["learned_metrics"]
        decode_video_from_feature_sequence(env, rollout_data, os.path.join(output_folder, f"{output_prefix}_unsafe_{idx}.mp4"))


def video_from_array(image_sequence_array, output_filename = "output_video.mp4"):
    import cv2
    # Assuming `image_sequence` is your tensor with shape (time, height, width, 3)
    # Normalize the image values to [0, 255] if they are not already in this range
    image_sequence_array = (image_sequence_array * 255).clip(0, 255).astype(np.uint8)

    # Define video properties
    height, width, _ = image_sequence_array.shape[1:]
    fps = 30  # Set frames per second

    # Create a VideoWriter object
    fourcc = cv2.VideoWriter_fourcc(*"mp4v")  # Codec for MP4
    video_writer = cv2.VideoWriter(output_filename, fourcc, fps, (width, height))

    # Write frames to the video
    for frame in image_sequence_array:
        video_writer.write(frame)

    # Release the VideoWriter
    video_writer.release()

    print(f"Video saved as {output_filename}")
    return output_filename


def decode_video_from_feature_sequence(env, rollout, output_filename):
    # feature_sequence_batch = torch.FloatTensor(d["learned_metrics"]["traj"]).to(env.device).squeeze(1)
    # layout: (batch, time, features)
    feature_sequence_batch = torch.FloatTensor(rollout["traj"]).to(env.device).unsqueeze(0).squeeze(2)
    image_sequence = env.car.wm.heads["decoder"](feature_sequence_batch)["image"].mode().squeeze(0).cpu().detach().numpy()
    # convert tensor of (time, npx, npy, 3) to mp4 video
    video_from_array(image_sequence, output_filename)


def visualize_evaluated_rollout_stats(evaluated_rollouts, title):
    # create a sunburst chart of the results
    # https://plotly.com/python/sunburst-charts/

    import plotly.express as px

    # Sample dataframe based on the provided layout
    df = evaluated_rollouts

    # Define labels for each level in the sunburst chart
    df["feasibility"] = df["is_feasible"].map({True: "feasible", False: "infeasible"})
    df["safety"] = df["is_safe"].map({True: "safe", False: "unsafe"})
    df["classification"] = df["is_learning_classification_correct"].map(
        {True: "true class.", False: "false class."}
    )

    # Generate the sunburst plot
    fig = px.sunburst(
        df,
        path=["feasibility", "safety", "classification"],
        title=title,
        color="safety",
        color_discrete_map={
            "safe": "lightgreen",
            "unsafe": "orange",
            "(?)": "lightblue",
        },
    )
    fig.update_traces(textinfo="label+value")
    # set root color to white
    return fig


def evaluate(
    env,
    agent,
    ground_truth_brt,
    experiment_name,
    position_gridsize,
    angle_gridsize,
    reproduce_value_function=True,
    reproduce_closed_loop_rollouts=True,
    reproduce_open_loop_rollouts=True,
    generate_videos=True,
    show_plots=True,
):
    output_folder = os.path.join(
        project_root, default_environment_info["outFolder"], experiment_name
    )
    os.makedirs(output_folder, exist_ok=True)

    # ------------------------------------------- value function
    value_function_metrics_path = os.path.join(
        output_folder, experiment_name + "_value_function_metrics"
    )
    if reproduce_value_function or not os.path.exists(
        f"{value_function_metrics_path}.pkl"
    ):
        value_function_metrics = compute_value_funtion_metrics(
            env, ground_truth_brt, agent.Q_network
        )
        save_obj(value_function_metrics, value_function_metrics_path)
    value_function_metrics = load_obj(value_function_metrics_path)
    # pretty print the metrics
    for key, value in value_function_metrics.items():
        print(f"{key}: {value:.3f}")

    # ----------------------- closed-loop rollout data collection
    closed_loop_rollout_data_path = os.path.join(
        output_folder, experiment_name + "closed_loop_rollout_data"
    )
    if reproduce_closed_loop_rollouts or not os.path.exists(
        f"{closed_loop_rollout_data_path}.pkl"
    ):
        rollout_data = collect_rollout_data(
            env,
            agent,
            position_gridsize=position_gridsize,
            angle_gridsize=angle_gridsize,
            output_folder=output_folder,
            output_prefix=f"closed_loop_${experiment_name}",
        )
        save_obj(rollout_data, closed_loop_rollout_data_path)
    rollout_data = load_obj(closed_loop_rollout_data_path)
    evaluated_rollouts = evaluate_rollout_data(env, rollout_data, ground_truth_brt)
    plt = visualize_evaluated_rollout_stats(
        evaluated_rollouts, title=f"{experiment_name} Closed-Loop Rollout Evaluation"
    )
    if generate_videos:
        generate_representative_rollout_videos(env, evaluated_rollouts, output_folder, experiment_name)
    if the_ipython_instance is not None and show_plots:
        IPython.display.display(plt)

    # ----------------------- open-loop rollout data collection
    open_loop_rollout_data_path = os.path.join(
        output_folder,
        experiment_name + "open_loop_rollout_data",
    )
    if reproduce_open_loop_rollouts or not os.path.exists(
        f"{open_loop_rollout_data_path}.pkl"
    ):
        open_loop_rollout_data = collect_rollout_data(
            env,
            agent,
            position_gridsize=position_gridsize,
            angle_gridsize=angle_gridsize,
            output_folder=output_folder,
            output_prefix=f"open_loop_${experiment_name}",
            enable_observation_feedback=False,
        )
        save_obj(open_loop_rollout_data, open_loop_rollout_data_path)
    open_loop_rollout_data = load_obj(open_loop_rollout_data_path)
    evaluated_open_loop_rollouts = evaluate_rollout_data(
        env, open_loop_rollout_data, ground_truth_brt
    )
    plt = visualize_evaluated_rollout_stats(
        evaluated_open_loop_rollouts,
        title=f"{experiment_name} Open-Loop Rollout Evaluation",
    )
    if generate_videos:
        generate_representative_rollout_videos(env, evaluated_open_loop_rollouts, output_folder, f"open_loop_{experiment_name}")
    if the_ipython_instance is not None and show_plots:
        IPython.display.display(plt)
In [ ]:
position_gridsize = 10
angle_gridsize = 3
default_config = RARL_wm.get_config(parse_args=False)
default_env, default_environment_info = RARL_wm.construct_environment(
    default_config, visualize_failure_sets=False
)
agent = load_best_agent(default_config, default_environment_info)
default_ground_truth_brt = np.load(default_config.grid_path)
---------------------
Experiment name: 1129/084949
Task: dubins
Logging to: logs/dreamer_dubins/1129/084949
---------------------

== Environment Information ==
dubins_car_img-v1
<module 'safety_rl.gym_reachability.gym_reachability' from '/home/lassepe/worktree/latent-safety/safety_rl/gym_reachability/gym_reachability/__init__.py'>
Remove dubins_car-v1 from registry
Remove dubins_car_img-v1 from registry
Remove dubins_car_img_cont-v1 from registry
config.obs_x: 0
config.obs_y: 0
config.obs_r: 0.5
Env: mode-RA; doneType-toEnd; sample_inside_obs-True
Encoder CNN shapes: {'image': (128, 128, 3)}
Encoder MLP shapes: {'obs_state': (2,)}
Decoder CNN shapes: {'image': (128, 128, 3)}
Decoder MLP shapes: {'obs_state': (2,)}
Optimizer model_opt has 27134213 variables.
logs/experiments/car-DDQN/world_model_new-toEnd
State Dimension: 544, ActionSpace Dimension: 3
Dynamic parameters:
  CAR
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 Max angular speed: 1.250
  ENV
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 
[-1.25  0.    1.25]
Type II Reach-Avoid Set

== Agent Information ==
ModuleList(
  (0): Linear(in_features=544, out_features=100, bias=True)
  (1): Tanh()
  (2): Linear(in_features=100, out_features=100, bias=True)
  (3): Tanh()
  (4): Linear(in_features=100, out_features=3, bias=True)
  (5): Identity()
)
DDQN: mode-RA; terminalType-g
We want to use: cuda, and Agent uses: cuda
Critic is using cuda:  True
  => Restore /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/model/Q-150000.pth
In [ ]:
experiment_setups = {}
# -------------------------------------------------------appearance ood setups
# in-distribution setup
experiment_setups["nominal"] = {
    "env": default_env,
    "ground_truth_brt": default_ground_truth_brt,
}

# out-of-distribution evaluation with cyan background
experiment_setups["cyanbg_ood"] = {
    "env": RARL_wm.construct_environment(
        default_config, visualize_failure_sets=False, ood_dict={"background": (0, 1, 1)}
    )[0],
    "ground_truth_brt": default_ground_truth_brt,
}
# out-of-distribution evaluation with magenta background
experiment_setups["magentabg_ood"] = {
    "env": RARL_wm.construct_environment(
        default_config, visualize_failure_sets=False, ood_dict={"background": (1, 0, 1)}
    )[0],
    "ground_truth_brt": default_ground_truth_brt,
}
# out-of-distribution evaluation with different scale
experiment_setups["scaled01_ood"] = {
    "env": RARL_wm.construct_environment(
        default_config, visualize_failure_sets=False, ood_dict={"scale": 0.1}
    )[0],
    "ground_truth_brt": default_ground_truth_brt,
}
# out-of-distribution evaluation with magenta obstacles
experiment_setups["magentaobs_ood"] = {
    "env": RARL_wm.construct_environment(
        default_config, visualize_failure_sets=False, ood_dict={"obstacle_color": (1, 0, 1)}
    )[0],
    "ground_truth_brt": default_ground_truth_brt,
}
# out-of-distribution evaluation with yellow obstacles
experiment_setups["yellowobs_ood"] = {
    "env": RARL_wm.construct_environment(
        default_config, visualize_failure_sets=False, ood_dict={"obstacle_color": (1, 1, 0)}
    )[0],
    "ground_truth_brt": default_ground_truth_brt,
}

# ------------------------------------------------------- position ood setups
# out-of-distriution with offset x position
offsetx_ood_config = RARL_wm.get_config(parse_args=False, root_key="offsetx_ood")
offsetx_ood_env, _ = RARL_wm.construct_environment(
    offsetx_ood_config, visualize_failure_sets=False
)
offsetx_ood_brt = np.load(offsetx_ood_config.grid_path)
experiment_setups["offsetx_ood"] = {
    "env": offsetx_ood_env,
    "ground_truth_brt": offsetx_ood_brt,
}

offsety_ood_config = RARL_wm.get_config(parse_args=False, root_key="offsety_ood")
offsety_ood_env, _ = RARL_wm.construct_environment(
    offsety_ood_config, visualize_failure_sets=False
)
offsety_ood_brt = np.load(offsety_ood_config.grid_path)
experiment_setups["offsety_ood"] = {
    "env": offsety_ood_env,
    "ground_truth_brt": offsety_ood_brt,
}

offsetr_ood_config = RARL_wm.get_config(parse_args=False, root_key="offsetr_ood")
offsetr_ood_env, _ = RARL_wm.construct_environment(
    offsetr_ood_config, visualize_failure_sets=False
)
offsetr_ood_brt = np.load(offsetr_ood_config.grid_path)
experiment_setups["offsetr_ood"] = {
    "env": offsetr_ood_env,
    "ground_truth_brt": offsetr_ood_brt,
}
== Environment Information ==
dubins_car_img-v1
<module 'safety_rl.gym_reachability.gym_reachability' from '/home/lassepe/worktree/latent-safety/safety_rl/gym_reachability/gym_reachability/__init__.py'>
config.obs_x: 0
config.obs_y: 0
config.obs_r: 0.5
Env: mode-RA; doneType-toEnd; sample_inside_obs-True
Encoder CNN shapes: {'image': (128, 128, 3)}
Encoder MLP shapes: {'obs_state': (2,)}
Decoder CNN shapes: {'image': (128, 128, 3)}
Decoder MLP shapes: {'obs_state': (2,)}
Optimizer model_opt has 27134213 variables.
logs/experiments/car-DDQN/world_model_new-toEnd
State Dimension: 544, ActionSpace Dimension: 3
Dynamic parameters:
  CAR
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 Max angular speed: 1.250
  ENV
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 
[-1.25  0.    1.25]
Type II Reach-Avoid Set

== Environment Information ==
dubins_car_img-v1
<module 'safety_rl.gym_reachability.gym_reachability' from '/home/lassepe/worktree/latent-safety/safety_rl/gym_reachability/gym_reachability/__init__.py'>
config.obs_x: 0
config.obs_y: 0
config.obs_r: 0.5
Env: mode-RA; doneType-toEnd; sample_inside_obs-True
Encoder CNN shapes: {'image': (128, 128, 3)}
Encoder MLP shapes: {'obs_state': (2,)}
Decoder CNN shapes: {'image': (128, 128, 3)}
Decoder MLP shapes: {'obs_state': (2,)}
Optimizer model_opt has 27134213 variables.
logs/experiments/car-DDQN/world_model_new-toEnd
State Dimension: 544, ActionSpace Dimension: 3
Dynamic parameters:
  CAR
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 Max angular speed: 1.250
  ENV
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 
[-1.25  0.    1.25]
Type II Reach-Avoid Set

== Environment Information ==
dubins_car_img-v1
<module 'safety_rl.gym_reachability.gym_reachability' from '/home/lassepe/worktree/latent-safety/safety_rl/gym_reachability/gym_reachability/__init__.py'>
config.obs_x: 0
config.obs_y: 0
config.obs_r: 0.5
Env: mode-RA; doneType-toEnd; sample_inside_obs-True
Encoder CNN shapes: {'image': (128, 128, 3)}
Encoder MLP shapes: {'obs_state': (2,)}
Decoder CNN shapes: {'image': (128, 128, 3)}
Decoder MLP shapes: {'obs_state': (2,)}
Optimizer model_opt has 27134213 variables.
logs/experiments/car-DDQN/world_model_new-toEnd
State Dimension: 544, ActionSpace Dimension: 3
Dynamic parameters:
  CAR
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 Max angular speed: 1.250
  ENV
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 
[-1.25  0.    1.25]
Type II Reach-Avoid Set

== Environment Information ==
dubins_car_img-v1
<module 'safety_rl.gym_reachability.gym_reachability' from '/home/lassepe/worktree/latent-safety/safety_rl/gym_reachability/gym_reachability/__init__.py'>
config.obs_x: 0
config.obs_y: 0
config.obs_r: 0.5
Env: mode-RA; doneType-toEnd; sample_inside_obs-True
Encoder CNN shapes: {'image': (128, 128, 3)}
Encoder MLP shapes: {'obs_state': (2,)}
Decoder CNN shapes: {'image': (128, 128, 3)}
Decoder MLP shapes: {'obs_state': (2,)}
Optimizer model_opt has 27134213 variables.
logs/experiments/car-DDQN/world_model_new-toEnd
State Dimension: 544, ActionSpace Dimension: 3
Dynamic parameters:
  CAR
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 Max angular speed: 1.250
  ENV
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 
[-1.25  0.    1.25]
Type II Reach-Avoid Set

== Environment Information ==
dubins_car_img-v1
<module 'safety_rl.gym_reachability.gym_reachability' from '/home/lassepe/worktree/latent-safety/safety_rl/gym_reachability/gym_reachability/__init__.py'>
config.obs_x: 0
config.obs_y: 0
config.obs_r: 0.5
Env: mode-RA; doneType-toEnd; sample_inside_obs-True
Encoder CNN shapes: {'image': (128, 128, 3)}
Encoder MLP shapes: {'obs_state': (2,)}
Decoder CNN shapes: {'image': (128, 128, 3)}
Decoder MLP shapes: {'obs_state': (2,)}
Optimizer model_opt has 27134213 variables.
logs/experiments/car-DDQN/world_model_new-toEnd
State Dimension: 544, ActionSpace Dimension: 3
Dynamic parameters:
  CAR
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 Max angular speed: 1.250
  ENV
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 
[-1.25  0.    1.25]
Type II Reach-Avoid Set
---------------------
Experiment name: 1129/084952
Task: dubins
Logging to: logs/dreamer_dubins/1129/084952
---------------------

== Environment Information ==
dubins_car_img-v1
<module 'safety_rl.gym_reachability.gym_reachability' from '/home/lassepe/worktree/latent-safety/safety_rl/gym_reachability/gym_reachability/__init__.py'>
config.obs_x: 0.5
config.obs_y: 0.0
config.obs_r: 0.5
Env: mode-RA; doneType-toEnd; sample_inside_obs-True
Encoder CNN shapes: {'image': (128, 128, 3)}
Encoder MLP shapes: {'obs_state': (2,)}
Decoder CNN shapes: {'image': (128, 128, 3)}
Decoder MLP shapes: {'obs_state': (2,)}
Optimizer model_opt has 27134213 variables.
logs/experiments/car-DDQN/world_model_new-toEnd
State Dimension: 544, ActionSpace Dimension: 3
Dynamic parameters:
  CAR
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 Max angular speed: 1.250
  ENV
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 
[-1.25  0.    1.25]
Type II Reach-Avoid Set
---------------------
Experiment name: 1129/084952
Task: dubins
Logging to: logs/dreamer_dubins/1129/084952
---------------------

== Environment Information ==
dubins_car_img-v1
<module 'safety_rl.gym_reachability.gym_reachability' from '/home/lassepe/worktree/latent-safety/safety_rl/gym_reachability/gym_reachability/__init__.py'>
config.obs_x: 0.0
config.obs_y: 0.5
config.obs_r: 0.5
Env: mode-RA; doneType-toEnd; sample_inside_obs-True
Encoder CNN shapes: {'image': (128, 128, 3)}
Encoder MLP shapes: {'obs_state': (2,)}
Decoder CNN shapes: {'image': (128, 128, 3)}
Decoder MLP shapes: {'obs_state': (2,)}
Optimizer model_opt has 27134213 variables.
logs/experiments/car-DDQN/world_model_new-toEnd
State Dimension: 544, ActionSpace Dimension: 3
Dynamic parameters:
  CAR
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 Max angular speed: 1.250
  ENV
    Constraint: 0.5 Turn: 0.80 Max speed: 1.00 
[-1.25  0.    1.25]
Type II Reach-Avoid Set
---------------------
Experiment name: 1129/084953
Task: dubins
Logging to: logs/dreamer_dubins/1129/084953
---------------------

== Environment Information ==
dubins_car_img-v1
<module 'safety_rl.gym_reachability.gym_reachability' from '/home/lassepe/worktree/latent-safety/safety_rl/gym_reachability/gym_reachability/__init__.py'>
config.obs_x: 0.0
config.obs_y: 0.0
config.obs_r: 1.0
Env: mode-RA; doneType-toEnd; sample_inside_obs-True
Encoder CNN shapes: {'image': (128, 128, 3)}
Encoder MLP shapes: {'obs_state': (2,)}
Decoder CNN shapes: {'image': (128, 128, 3)}
Decoder MLP shapes: {'obs_state': (2,)}
Optimizer model_opt has 27134213 variables.
logs/experiments/car-DDQN/world_model_new-toEnd
State Dimension: 544, ActionSpace Dimension: 3
Dynamic parameters:
  CAR
    Constraint: 1.0 Turn: 0.80 Max speed: 1.00 Max angular speed: 1.250
  ENV
    Constraint: 1.0 Turn: 0.80 Max speed: 1.00 
[-1.25  0.    1.25]
Type II Reach-Avoid Set
In [ ]:
# run all of the experiment setups in sequence
for experiment_name, experiment_setup in experiment_setups.items():
    print(f"Running evaluation for {experiment_name}")
    img = Image.fromarray(experiment_setup["env"].capture_image())
    if the_ipython_instance is not None:
        IPython.display.display(img)
    evaluate(
        env=experiment_setup["env"],
        agent=agent,
        ground_truth_brt=experiment_setup["ground_truth_brt"],
        experiment_name=experiment_name,
        position_gridsize=position_gridsize,
        angle_gridsize=angle_gridsize,
        reproduce_closed_loop_rollouts=False,
        reproduce_open_loop_rollouts=False,
        reproduce_value_function=False,
    )
Running evaluation for nominal
No description has been provided for this image
tn: 0.216
tp: 0.757
fn: 0.024
fp: 0.003
accuracy: 0.973
precision: 0.995
recall: 0.970
f1: 0.982
Generating video for safe rollout 0
<ipython-input-2-a7a296c4c91a>:212: UserWarning:

Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at /home/conda/feedstock_root/build_artifacts/libtorch_1715185017593/work/torch/csrc/utils/tensor_new.cpp:261.)

Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/nominal_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/nominal_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/nominal_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/nominal_safe_3.mp4
Generating video for safe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/nominal_safe_5.mp4
Generating video for unsafe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/nominal_unsafe_4.mp4
Generating video for unsafe rollout 14
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/nominal_unsafe_14.mp4
Generating video for unsafe rollout 15
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/nominal_unsafe_15.mp4
Generating video for unsafe rollout 24
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/nominal_unsafe_24.mp4
Generating video for unsafe rollout 25
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/nominal_unsafe_25.mp4
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/open_loop_nominal_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/open_loop_nominal_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/open_loop_nominal_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/open_loop_nominal_safe_3.mp4
Generating video for safe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/open_loop_nominal_safe_5.mp4
Generating video for unsafe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/open_loop_nominal_unsafe_4.mp4
Generating video for unsafe rollout 6
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/open_loop_nominal_unsafe_6.mp4
Generating video for unsafe rollout 14
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/open_loop_nominal_unsafe_14.mp4
Generating video for unsafe rollout 15
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/open_loop_nominal_unsafe_15.mp4
Generating video for unsafe rollout 24
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/nominal/open_loop_nominal_unsafe_24.mp4
Running evaluation for cyanbg_ood
No description has been provided for this image
tn: 0.220
tp: 0.000
fn: 0.780
fp: 0.000
accuracy: 0.220
precision: 0.000
recall: 0.000
f1: 0.000
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/cyanbg_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/cyanbg_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/cyanbg_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/cyanbg_ood_safe_3.mp4
Generating video for safe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/cyanbg_ood_safe_4.mp4
Generating video for unsafe rollout 14
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/cyanbg_ood_unsafe_14.mp4
Generating video for unsafe rollout 15
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/cyanbg_ood_unsafe_15.mp4
Generating video for unsafe rollout 23
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/cyanbg_ood_unsafe_23.mp4
Generating video for unsafe rollout 24
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/cyanbg_ood_unsafe_24.mp4
Generating video for unsafe rollout 25
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/cyanbg_ood_unsafe_25.mp4
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/open_loop_cyanbg_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/open_loop_cyanbg_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/open_loop_cyanbg_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/open_loop_cyanbg_ood_safe_3.mp4
Generating video for safe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/open_loop_cyanbg_ood_safe_4.mp4
Generating video for unsafe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/open_loop_cyanbg_ood_unsafe_5.mp4
Generating video for unsafe rollout 6
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/open_loop_cyanbg_ood_unsafe_6.mp4
Generating video for unsafe rollout 7
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/open_loop_cyanbg_ood_unsafe_7.mp4
Generating video for unsafe rollout 8
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/open_loop_cyanbg_ood_unsafe_8.mp4
Generating video for unsafe rollout 14
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/cyanbg_ood/open_loop_cyanbg_ood_unsafe_14.mp4
Running evaluation for magentabg_ood
No description has been provided for this image
tn: 0.220
tp: 0.000
fn: 0.780
fp: 0.000
accuracy: 0.220
precision: 0.000
recall: 0.000
f1: 0.000
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/magentabg_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/magentabg_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/magentabg_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/magentabg_ood_safe_3.mp4
Generating video for safe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/magentabg_ood_safe_4.mp4
Generating video for unsafe rollout 14
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/magentabg_ood_unsafe_14.mp4
Generating video for unsafe rollout 15
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/magentabg_ood_unsafe_15.mp4
Generating video for unsafe rollout 23
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/magentabg_ood_unsafe_23.mp4
Generating video for unsafe rollout 24
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/magentabg_ood_unsafe_24.mp4
Generating video for unsafe rollout 25
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/magentabg_ood_unsafe_25.mp4
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/open_loop_magentabg_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/open_loop_magentabg_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/open_loop_magentabg_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/open_loop_magentabg_ood_safe_3.mp4
Generating video for safe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/open_loop_magentabg_ood_safe_4.mp4
Generating video for unsafe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/open_loop_magentabg_ood_unsafe_5.mp4
Generating video for unsafe rollout 6
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/open_loop_magentabg_ood_unsafe_6.mp4
Generating video for unsafe rollout 7
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/open_loop_magentabg_ood_unsafe_7.mp4
Generating video for unsafe rollout 8
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/open_loop_magentabg_ood_unsafe_8.mp4
Generating video for unsafe rollout 14
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentabg_ood/open_loop_magentabg_ood_unsafe_14.mp4
Running evaluation for scaled01_ood
No description has been provided for this image
tn: 0.208
tp: 0.738
fn: 0.042
fp: 0.012
accuracy: 0.946
precision: 0.984
recall: 0.946
f1: 0.965
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/scaled01_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/scaled01_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/scaled01_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/scaled01_ood_safe_3.mp4
Generating video for safe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/scaled01_ood_safe_5.mp4
Generating video for unsafe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/scaled01_ood_unsafe_4.mp4
Generating video for unsafe rollout 14
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/scaled01_ood_unsafe_14.mp4
Generating video for unsafe rollout 15
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/scaled01_ood_unsafe_15.mp4
Generating video for unsafe rollout 23
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/scaled01_ood_unsafe_23.mp4
Generating video for unsafe rollout 24
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/scaled01_ood_unsafe_24.mp4
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/open_loop_scaled01_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/open_loop_scaled01_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/open_loop_scaled01_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/open_loop_scaled01_ood_safe_3.mp4
Generating video for safe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/open_loop_scaled01_ood_safe_5.mp4
Generating video for unsafe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/open_loop_scaled01_ood_unsafe_4.mp4
Generating video for unsafe rollout 14
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/open_loop_scaled01_ood_unsafe_14.mp4
Generating video for unsafe rollout 15
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/open_loop_scaled01_ood_unsafe_15.mp4
Generating video for unsafe rollout 23
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/open_loop_scaled01_ood_unsafe_23.mp4
Generating video for unsafe rollout 24
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/scaled01_ood/open_loop_scaled01_ood_unsafe_24.mp4
Running evaluation for magentaobs_ood
No description has been provided for this image
tn: 0.220
tp: 0.000
fn: 0.780
fp: 0.000
accuracy: 0.220
precision: 0.000
recall: 0.000
f1: 0.000
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/magentaobs_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/magentaobs_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/magentaobs_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/magentaobs_ood_safe_3.mp4
Generating video for safe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/magentaobs_ood_safe_4.mp4
Generating video for unsafe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/magentaobs_ood_unsafe_5.mp4
Generating video for unsafe rollout 14
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/magentaobs_ood_unsafe_14.mp4
Generating video for unsafe rollout 15
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/magentaobs_ood_unsafe_15.mp4
Generating video for unsafe rollout 23
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/magentaobs_ood_unsafe_23.mp4
Generating video for unsafe rollout 24
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/magentaobs_ood_unsafe_24.mp4
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/open_loop_magentaobs_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/open_loop_magentaobs_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/open_loop_magentaobs_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/open_loop_magentaobs_ood_safe_3.mp4
Generating video for safe rollout 8
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/open_loop_magentaobs_ood_safe_8.mp4
Generating video for unsafe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/open_loop_magentaobs_ood_unsafe_4.mp4
Generating video for unsafe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/open_loop_magentaobs_ood_unsafe_5.mp4
Generating video for unsafe rollout 6
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/open_loop_magentaobs_ood_unsafe_6.mp4
Generating video for unsafe rollout 7
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/open_loop_magentaobs_ood_unsafe_7.mp4
Generating video for unsafe rollout 14
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/magentaobs_ood/open_loop_magentaobs_ood_unsafe_14.mp4
Running evaluation for yellowobs_ood
No description has been provided for this image
tn: 0.213
tp: 0.764
fn: 0.016
fp: 0.006
accuracy: 0.978
precision: 0.992
recall: 0.980
f1: 0.986
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/yellowobs_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/yellowobs_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/yellowobs_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/yellowobs_ood_safe_3.mp4
Generating video for safe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/yellowobs_ood_safe_5.mp4
Generating video for unsafe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/yellowobs_ood_unsafe_4.mp4
Generating video for unsafe rollout 14
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/yellowobs_ood_unsafe_14.mp4
Generating video for unsafe rollout 15
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/yellowobs_ood_unsafe_15.mp4
Generating video for unsafe rollout 24
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/yellowobs_ood_unsafe_24.mp4
Generating video for unsafe rollout 25
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/yellowobs_ood_unsafe_25.mp4
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/open_loop_yellowobs_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/open_loop_yellowobs_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/open_loop_yellowobs_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/open_loop_yellowobs_ood_safe_3.mp4
Generating video for safe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/open_loop_yellowobs_ood_safe_5.mp4
Generating video for unsafe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/open_loop_yellowobs_ood_unsafe_4.mp4
Generating video for unsafe rollout 6
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/open_loop_yellowobs_ood_unsafe_6.mp4
Generating video for unsafe rollout 14
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/open_loop_yellowobs_ood_unsafe_14.mp4
Generating video for unsafe rollout 15
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/open_loop_yellowobs_ood_unsafe_15.mp4
Generating video for unsafe rollout 24
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/yellowobs_ood/open_loop_yellowobs_ood_unsafe_24.mp4
Running evaluation for offsetx_ood
No description has been provided for this image
tn: 0.124
tp: 0.673
fn: 0.116
fp: 0.088
accuracy: 0.796
precision: 0.885
recall: 0.853
f1: 0.868
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/offsetx_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/offsetx_ood_safe_3.mp4
Generating video for safe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/offsetx_ood_safe_4.mp4
Generating video for safe rollout 7
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/offsetx_ood_safe_7.mp4
Generating video for safe rollout 8
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/offsetx_ood_safe_8.mp4
Generating video for unsafe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/offsetx_ood_unsafe_0.mp4
Generating video for unsafe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/offsetx_ood_unsafe_1.mp4
Generating video for unsafe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/offsetx_ood_unsafe_5.mp4
Generating video for unsafe rollout 6
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/offsetx_ood_unsafe_6.mp4
Generating video for unsafe rollout 10
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/offsetx_ood_unsafe_10.mp4
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/open_loop_offsetx_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/open_loop_offsetx_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/open_loop_offsetx_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/open_loop_offsetx_ood_safe_3.mp4
Generating video for safe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/open_loop_offsetx_ood_safe_4.mp4
Generating video for unsafe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/open_loop_offsetx_ood_unsafe_5.mp4
Generating video for unsafe rollout 6
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/open_loop_offsetx_ood_unsafe_6.mp4
Generating video for unsafe rollout 9
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/open_loop_offsetx_ood_unsafe_9.mp4
Generating video for unsafe rollout 11
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/open_loop_offsetx_ood_unsafe_11.mp4
Generating video for unsafe rollout 13
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetx_ood/open_loop_offsetx_ood_unsafe_13.mp4
Running evaluation for offsety_ood
No description has been provided for this image
tn: 0.083
tp: 0.625
fn: 0.156
fp: 0.136
accuracy: 0.708
precision: 0.821
recall: 0.800
f1: 0.810
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/offsety_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/offsety_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/offsety_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/offsety_ood_safe_3.mp4
Generating video for safe rollout 8
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/offsety_ood_safe_8.mp4
Generating video for unsafe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/offsety_ood_unsafe_4.mp4
Generating video for unsafe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/offsety_ood_unsafe_5.mp4
Generating video for unsafe rollout 6
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/offsety_ood_unsafe_6.mp4
Generating video for unsafe rollout 7
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/offsety_ood_unsafe_7.mp4
Generating video for unsafe rollout 15
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/offsety_ood_unsafe_15.mp4
Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/open_loop_offsety_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/open_loop_offsety_ood_safe_1.mp4
Generating video for safe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/open_loop_offsety_ood_safe_2.mp4
Generating video for safe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/open_loop_offsety_ood_safe_3.mp4
Generating video for safe rollout 10
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/open_loop_offsety_ood_safe_10.mp4
Generating video for unsafe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/open_loop_offsety_ood_unsafe_4.mp4
Generating video for unsafe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/open_loop_offsety_ood_unsafe_5.mp4
Generating video for unsafe rollout 6
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/open_loop_offsety_ood_unsafe_6.mp4
Generating video for unsafe rollout 7
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/open_loop_offsety_ood_unsafe_7.mp4
Generating video for unsafe rollout 8
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsety_ood/open_loop_offsety_ood_unsafe_8.mp4
Running evaluation for offsetr_ood
No description has been provided for this image
tn: 0.236
tp: 0.299
fn: 0.000
fp: 0.465
accuracy: 0.535
precision: 0.391
recall: 1.000
f1: 0.562
Collecting rollouts for theta = 0 degrees; 1/3

Collecting rollouts for theta = 120 degrees; 2/3

Collecting rollouts for theta = 240 degrees; 3/3

Generating video for safe rollout 8
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/offsetr_ood_safe_8.mp4
Generating video for safe rollout 9
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/offsetr_ood_safe_9.mp4
Generating video for safe rollout 29
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/offsetr_ood_safe_29.mp4
Generating video for safe rollout 39
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/offsetr_ood_safe_39.mp4
Generating video for safe rollout 49
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/offsetr_ood_safe_49.mp4
Generating video for unsafe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/offsetr_ood_unsafe_0.mp4
Generating video for unsafe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/offsetr_ood_unsafe_1.mp4
Generating video for unsafe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/offsetr_ood_unsafe_2.mp4
Generating video for unsafe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/offsetr_ood_unsafe_3.mp4
Generating video for unsafe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/offsetr_ood_unsafe_4.mp4
Collecting rollouts for theta = 0 degrees; 1/3

Collecting rollouts for theta = 120 degrees; 2/3

Collecting rollouts for theta = 240 degrees; 3/3

Generating video for safe rollout 0
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/open_loop_offsetr_ood_safe_0.mp4
Generating video for safe rollout 1
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/open_loop_offsetr_ood_safe_1.mp4
Generating video for safe rollout 10
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/open_loop_offsetr_ood_safe_10.mp4
Generating video for safe rollout 20
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/open_loop_offsetr_ood_safe_20.mp4
Generating video for safe rollout 30
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/open_loop_offsetr_ood_safe_30.mp4
Generating video for unsafe rollout 2
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/open_loop_offsetr_ood_unsafe_2.mp4
Generating video for unsafe rollout 3
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/open_loop_offsetr_ood_unsafe_3.mp4
Generating video for unsafe rollout 4
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/open_loop_offsetr_ood_unsafe_4.mp4
Generating video for unsafe rollout 5
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/open_loop_offsetr_ood_unsafe_5.mp4
Generating video for unsafe rollout 6
Video saved as /home/lassepe/worktree/latent-safety/logs/experiments/car-DDQN/world_model_new-toEnd/offsetr_ood/open_loop_offsetr_ood_unsafe_6.mp4
No description has been provided for this image